import request from "../request";
 
//一般情况下，接口类型会放到一个文件
// 下面两个TS接口，表示要传的参数
interface ReqLogin {
    name: string
    password: string
}
interface ReqStatus {
    id: string
    navStatus: string
}
 
 
// Res是返回的参数，T是泛型，需要自己定义，返回对数统一管理***
type Res<T> = Promise<typeAPI<T>>;
// 一般情况下响应数据返回的这三个参数，
// 但不排除后端返回其它的可能性，
interface typeAPI<T> {
    data: T,//请求的数据，用泛型
    message: string | null // 返回状态码的信息，如请求成功等
    code: number //返回后端自定义的200，404，500这种状态码
}


export function defaultMenu():Res<any>{
    return request({
        method:"post",
        url:"/default.menu.do",
        // data:data
    })
}

export function contactList(data:any):Res<any>{
    return request({
        method:"post",
        url:"/contact.list.do",
        data:data
    })
}

export function contactQuery(data:any):Res<any>{
    return request({
        method:"post",
        url:"/contact.query.do",
        data:data
    })
}

export function dispatchQuery(data:any):Res<any>{
    return request({
        method:"post",
        url:"/dispatch.query.do",
        data:data
    })
}


export function apiRefListNew(data:any):Res<any>{
    return request({
        method:"post",
        url:"/ref.listnew.do",
        data:data
    })
}

export function apiContactNew(data:any):Res<any>{
    return request({
        method:"post",
        url:"/contact.new.do",
        data:data
    })
}

export function apiUploadFile(data:any):Res<any>{
    return request({
        method:"post",
        url:"/upload.filedo",
        headers: {'Content-Type': 'multipart/form-data'},
        data:data,
    })
}

export function apiContactNewSave(data:any):Res<any>{
    return request({
        method:"post",
        url:"/contact.newsave.do",
        data:data,
    })
}


export function apiContactCheck(data:any):Res<any>{
    return request({
        method:"post",
        url:"/contact.check.do",
        data:data,
    })
}

export function apiDynamicList(data:any):Res<any>{
    return request({
        method:"post",
        url:"/dynamic.list.do",
        data:data,
    })
}


export function apiConfigurable(url:string,data:any=null,method:string="post"):Res<any>{
    return request({
        method,
        url,
        data,
    })
}































 
 
